草庐IT

Java SE - 集合

全部标签

c# - 观察集合中项目的 PropertyChanged

我正在尝试挂接到集合中INotifyPropertyChanged对象上的事件。我见过的这个问题的每个答案都说要按如下方式处理:voidNotifyingItems_CollectionChanged(objectsender,NotifyCollectionChangedEventArgse){if(e.NewItems!=null){foreach(INotifyPropertyChangeditemine.NewItems){item.PropertyChanged+=newPropertyChangedEventHandler(CollectionItemChanged);}}

c# - 如何实现无限集合类?

我正在为离散数学设计一个类库,但我想不出一种方法来实现infiniteset.到目前为止我所拥有的是:我有一个抽象基类Set,它实现了接口(interface)ISet。对于有限集,我派生了一个FiniteSet类,它实现了每个set方法。然后我可以像这样使用它:FiniteSetset1=newFiniteSet(1,2,3);FiniteSetset2=newFiniteSet(3,4,5);Console.WriteLine(set1);//{1,2,3}Console.WriteLine(set2);//{3,4,5}set1.UnionWith(set2);Console.W

c# - 具有上限的线程安全集合

我正在寻找具有以下属性的集合:threadsafe:将在asp.net中使用,多个客户端可以同时尝试添加、删除和访问成员ma​​xelements:我希望能够在构造时设置一个上限,最大元素数TryAdd:一种与BlockingCollection.TryAdd(T)相同的方法将是完美的,即如果已达到最大元素数,它将返回false类似字典:在大多数其他方面是ConcurrentDictionary将是完美的,即能够通过键识别元素,删除任何项目(不仅仅是第一个或最后一个,我认为这将是BlockingCollection的限制)在尝试自己动手之前,我的问题是:我是不是错过了一个可以对集合中的

c# - 为什么 C# 允许在集合初始值设定项中使用尾随逗号,但不允许在参数中使用?

有效语法:vartest=newList{"a","b","c",//Validtrailingcomma};语法无效:privatevoidTest(paramsstring[]args){}Test("a","b","c",//Invalidtrailingcomma);这是语法不一致的问题还是经过深思熟虑的决定? 最佳答案 因此,尽管我永远不会知道“真正的”原因,因为我不在编译器团队中,但我还是会尝试一下——而且有人出现的可能性值得怀疑。尾随逗号通常在一些场景中很有用,即合并和代码生成。在诸如集合或属性初始化器和枚举之类的上下

c# - Entity Framework 以一对多方式替换集合的正确方法

假设一个客户有很多电话号码,而一个电话号码只有一个客户。publicclassPhoneNumber:IValueObject{publicstringNumber{get;set;}publicstringType{get;set;}}publicclassCustomer:IEntity{publicICollectionphones{get;privateset;}//ewatnoencapsulatedcollectionsupportpublicvoidSetPhones(paramsPhoneNumber[]phones){this.phones.Clear();this.

c# - 如何针对集合调用 Expression<Func<Entity, bool>>

我有一个从存储库模式定义存储库的接口(interface):interfaceIRepository{ListGetAllCustomers(Expression>expression);}我已经在EntityFramework上实现了它:classEntityFrameworkRepository{publicListGetAllCustomers(Expression>expression){returnDBContext.Customers.Where(expression).ToList();}}这似乎工作得很好,它允许我做类似的事情:varcustomers=entityFr

c# - 集合中项目的可观察集合属性发生了变化

我有一个ObservableCollection.我已将它绑定(bind)到ListBox控件并添加了SortDescriptions到ListBox上的Items集合,使列表按我想要的方式排序。当子元素上的任何属性发生更改时,我想在任何点对列表求助。我所有的子元素都实现了INotifyPropertyChanged. 最佳答案 蛮力:将处理程序附加到每个子项的每个PropertyChanged事件从CollectionViewSource中获取ListCollectionView调用Refresh。编辑:1、2的代码将存在于您的代

C# Xml序列化、集合和根元素

我的应用序列化流中的对象。这是我需要的示例:在这种情况下,该对象是“链接”对象的集合。------------第一个版本起初我使用了DataContractSerializer,但是你不能将成员序列化为属性(source)这是对象:[DataContract(Name="link")]publicclassLinkV1{[DataMember(Name="href")]publicstringUrl{get;set;}[DataMember(Name="rel")]publicstringRelationship{get;set;}}结果如下:/usersusers/featuresf

c# - C# 集合是否始终强制执行顺序?

即如果我想从数组中选择,结果是IEnumerable对象一定是有序的?publicclassStudent{publicstringFullName,...}publicclassSchool{publicstringName,publicStudent[]Students,...}publicvoidStudentListWork(SchoolthisSchool){IEnumerableStudentNames=thisSchool.Students.Select(student=>student.FullName);//ISStudentNamesGUARANTEEDTOBEIN

c# - 创建一个包含比原始元素更多的 ReactiveUI 派生集合

是否可以创建一个包含比原始元素更多的ReactiveUI派生集合?我已经看到有一种方法可以过滤集合并选择单个属性,但我正在寻找的是与可枚举对象的SelectMany操作等效的方法。为了说明这一点,想象一下试图获取一个派生集合来代表每位陷入交通堵塞的乘客。classCar{ReactiveCollectionPassengers;}varTrafficJam=newReactiveCollection();EveryPassengerInTheTrafficJam=Cars.CreateDerivedCollection(c=>c.Passengers);以上不起作用,我认为错误是IEn